//
//  PTCoreManager+LifeService.h
//  PlanTech
//
//  Created by ruifeng song on 2018/7/16.
//  Copyright © 2018年  androidlongs. All rights reserved.
//

#import "PTCoreManager.h"
#import "PTCoreDefine.h"

@interface PTCoreManager (LifeService)

/**
 * 获取生活服务列表
 *
 @param type PTLifeServiceType   服务类型
 @param universityId             大学ID
 @param page                     当前页数
 @param num                      每页条数
 @param completion              回调Block
 */
-(void)performGetLifeServiceListWithType:(PTLifeServiceType)type
                            universityId:(NSString *)universityId 
                                    page:(NSInteger)page
                                     num:(NSInteger)num
                              Completion:(PTRESTfulCompletionHandler)completion;

/**
 * 获取服务详情内容
 *
 @param serviceUUID  一条服务记录的 uuid 即 1.1 接口中返回列表数据的 serviceUUID
 @param userUUID     用户uuid
 @param completion   回调Block
 */
-(void)performGetLifeServiceListDetailsWithServiceUUID:(NSString *)serviceUUID
                                       userUUID:(NSString *)userUUID
                                     Completion:(PTRESTfulCompletionHandler)completion;


/**
 * 获取我的发布列表
 *
 @param userUUID            用户uuid
 @param page                当前页数
 @param num                 每页条数
 @param status              0   正常（刚发布，初始装填）
                            1   已取消发布（可重新发布）
                            2   已删除 （对应数据不会返回）
                            3   已接单,未完成
                            4   已接单, 承接者一方点击了完成
                            5   已完成
                            6   已评价
                            7   待处理（已举报对方）
 @param completion          回调Block
 */
-(void)performGetMyReleaseServiceListWithUserUUID:(NSString *)userUUID
                                             page:(NSInteger)page
                                              num:(NSInteger)num
                                           status:(PTLifeServiceStatus)status
                                       Completion:(PTRESTfulCompletionHandler)completion;



/**
 * 删除我的发布
 *
 @param serviceUUID     一条服务记录的 uuid
 @param completion      回调Block
 */
-(void)performPostDeleteMyReleaseOrderWithServiceUUID:(NSString *)serviceUUID
                                           Completion:(PTRESTfulCompletionHandler)completion;

/**
 * 取消我的发布
 *
 @param serviceUUID     一条服务记录的 uuid
 @param completion      回调Block
 */
-(void)performPostCancelMyReleaseOrderWithServiceUUID:(NSString *)serviceUUID
                                           Completion:(PTRESTfulCompletionHandler)completion;

/**
 * 举报用户
 *
 @param  userName        收件人名字
 @param  receiverUUID    承接者uuid
 @param  serviceUUID     一条服务记录的 uuid
 @param  type            服务类型 (传类型所对的中文名称)
 @param  missionUUID     承接任务记录的uuid
 @param  completion      回调Block
 */
-(void)performPostReportUserWithUserName:(NSString *)userName
                            receiverUUID:(NSString *)receiverUUID
                             serviceUUID:(NSString *)serviceUUID
                                    type:(PTLifeServiceType)type
                             missionUUID:(NSString *)missionUUID
                              Completion:(PTRESTfulCompletionHandler)completion;



/**
 * 发布我的需求
 *
 @param   type               生活服务类型   (必填)
 @param   expressCat         快递类型
 @param   purchaseCat        代购类型
 @param   userUUID           用户uuid      (必填)
 @param   startTime          开始时间       (必填)
 @param   endTime            结束时间       (必填)
 @param   userAddress        发布者收货地址  （必填）
 @param   reward             报酬（整数)     (必填)
 @param   destinationName    取货地名称
 @param   destinationAddress 取货详细地址    (必填)
 @param   accessCode         提货码
 @param   copies             打印份数
 @param   remark             备注
 @param   universityId       发布者所在大学id (必填)
 @param   userName           接收人名字
 @param   userPhone          接收人电话
 @param  completion      回调Block
 */
-(void)performPostReleaseOrderWithType:(PTLifeServiceType)type
                            expressCat:(nullable NSString *)expressCat
                           purchaseCat:(nullable NSString *)purchaseCat
                              userUUID:(nonnull const NSString *)userUUID
                             startTime:(nonnull const NSString *)startTime
                               endTime:(nonnull const NSString *)endTime
                           userAddress:(nonnull const NSString *)userAddress
                                reward:(NSInteger)reward
                       destinationName:(nullable NSString *)destinationName
                    destinationAddress:(nonnull const NSString *)destinationAddress
                            accessCode:(nullable NSString *)accessCode
                                copies:(nullable NSString *)copies
                                remark:(nullable NSString *)remark
                          universityId:(nonnull const NSString *)universityId
                              userName:(nullable NSString *)userName
                             userPhone:(nullable NSString *)userPhone
                           serviceUUID:(nullable NSString *)serviceUUID
                            Completion:(PTRESTfulCompletionHandler)completion;

/**
 * 我要承接
 *
 @param   userUUID            承接者uuid
 @param   serviceOwnerUUID    服务发布者uuid
 @param   serviceUUID         一条服务记录的 uuid
 @param   type                服务类型（传类型所对的中文名称）
 @param  completion      回调Block
 */
-(void)performPostAcceptOrdersWithUserUUID:(NSString *)userUUID
                               serviceOwnerUUID:(NSString *)serviceOwnerUUID
                               serviceUUID:(NSString *)serviceUUID
                                      type:(PTLifeServiceType)type
                                Completion:(PTRESTfulCompletionHandler)completion;

/**
 *  发布者确认完成
 *
 @param  userName       收件人名字
 @param  receiverUUID   承接者uuid
 @param  serviceUUID    一条服务记录的 uuid
 @param  type           服务类型（传类型所对应的中文名称）
 @param  missionUUID    承接任务记录的uuid
 @param  completion     回调Block
 */
-(void)performPostConfirmFinishOrderWithUserName:(NSString *)userName
                                    receiverUUID:(NSString *)receiverUUID
                                     serviceUUID:(NSString *)serviceUUID
                                            type:(PTLifeServiceType)type
                                     missionUUID:(NSString *)missionUUID
                                      Completion:(PTRESTfulCompletionHandler)completion;

/**
 * 发布者评价
 *
 @param  userName       收件人名字
 @param  receiverUUID   承接者uuid
 @param  serviceUUID    一条服务记录的 uuid
 @param  missionUUID    承接任务记录的uuid
 @param  type           服务类型（传类型所对应的中文名称）
 @param  completion     回调Block
 */
-(void)performPostPublisherEvaluateWithUserName:(NSString *)userName
                                   receiverUUID:(NSString *)receiverUUID
                                    serviceUUID:(NSString *)serviceUUID
                                    missionUUID:(NSString *)missionUUID
                                           type:(PTLifeServiceType)type
                                         rating:(double)rating
                                     Completion:(PTRESTfulCompletionHandler)completion;

/**
 * 我的兼职列表
 *
 @param  status       状态值
 @param  userUUID     当前用户的Uuid
 @param  page          当前页数
 @param  num           每页条数
 @param  completion   回调Block
 */
-(void)performGetMyMissionsWithStatus:(PTLifeServiceMissionStatus)status
                             userUUID:(NSString *)userUUID
                                 page:(NSInteger)page
                                  num:(NSInteger)num
                           Completion:(PTRESTfulCompletionHandler)completion;

/**
 * 我的兼职完成之后删除
 *
 @param   missionUUID    承接任务记录的uuid
 @param   completion     回调Block
 */
-(void)performPostMissionDeleteWithUUID:(NSString *)missionUUID
                             Completion:(PTRESTfulCompletionHandler)completion;

/**
 * 承接任务的 完成
 *
 @param   userName          承接用户的名字
 @param   serviceOwnerUUID  服务发布者uuid
 @param   serviceUUID       一条服务记录的uuid
 @param   type              服务类型（传类型所对应的中文名称
 @param   missionUUID       承接任务记录的uuid
 @param   completion        回调Block
 */
-(void)performPostMissionFinishWithUserName:(NSString *)userName
                           serviceOwnerUUID:(NSString *)serviceOwnerUUID
                                serviceUUID:(NSString *)serviceUUID
                                       type:(PTLifeServiceType)type
                                missionUUID:(NSString *)missionUUID
                                 Completion:(PTRESTfulCompletionHandler)completion;

/**
 * 我的兼职 查询详情
 *
 @param  uuid         一条承接记录的 uuid
 @param  completion   回调Block
 */
-(void)performGetMyMissionDetailWithUUID:(NSString *)uuid
                              Completion:(PTRESTfulCompletionHandler)completion;


@end




















